Skip to content

Use Storage Scale pools and filesets: storage totals and find filters - #26

Merged
cdmaestas merged 1 commit into
mainfrom
filesets-pools
Oct 1, 2026
Merged

cdmaestas merged 1 commit into
mainfrom
filesets-pools

Conversation

@cdmaestas

Copy link
Copy Markdown
Owner

Summary

Closes #11. Imports have recorded each file's fileset and storage pool since #9; this puts them to use.

$ cdm storage
pool         size       files
system       4.0G          11
data1      540.0M           2

fileset      size       files
fileset1     4.5G          13

$ cdm find --pool data1
500.0M  2025-11-10 10:00  /gpfs/fs1/fileset1/d0001/d0008/f0011.dmg
  • cdm storage totals files and bytes by pool and by fileset, with names, since the person at the terminal owns the index. It takes --root and --json.
  • find --pool NAME / --fileset NAME filter on them, the same parameters work on MCP find, and stat shows both.
  • Scanned files have neither, and are counted apart.

Which names reach the AI (ADR 0007)

The MCP storage tool is a shape tool, so its names follow ADR 0002. The plan assumed pool and fileset names were both shape. On a real cluster that held for pools but not filesets: the fileset in use was named after its user.

Default MCP --expose-names CLI
Storage pools named (they name tiers, not people) named named
Filesets ranked by size, never named (fileset #1 is the largest), with counts and bytes named named

Testing

  • 383 tests pass locally on Python 3.14, and 372 on 3.9. ruff and mandoc -Tlint are clean, and the pre-commit hook passed on the commit.
  • New tests/test_storage.py: the pool and fileset filters; totals by pool name and by fileset rank, with scanned files counted apart; fileset names only when asked for; the default MCP server never sending a fileset named like a person's project, while --expose-names does; MCP find filters; and the CLI storage, find and stat round trip on the real sanitized fixture.
  • The existing MCP privacy tests now cover the new storage tool automatically.
  • The man page (new storage command, find options, MCP section, STORAGE SCALE), README, CHANGELOG and ADR 0007 are updated.

🤖 Generated with Claude Code

Imports have recorded each file's fileset and storage pool since #9; this
puts them to use. `cdm storage` totals files and bytes by pool and by
fileset (with names: the person at the terminal owns the index);
`find --pool` / `--fileset` filter on them, as do the same parameters on
MCP `find`; `stat` shows both. Scanned files have neither and are counted
apart.

The MCP `storage` tool is a shape tool, so its names follow ADR 0002's
rule. The plan assumed pool and fileset names were both shape; on a real
cluster the fileset in use was named after its user. Pool names name
storage tiers and are returned by default; fileset names are often a
person's, project's or customer's, so without --expose-names filesets are
reported by rank of size ("fileset #1" is the largest) and never named.
Recorded as ADR 0007.

Closes #11.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cdmaestas
cdmaestas merged commit 2ff977f into main Oct 1, 2026
7 checks passed
@cdmaestas
cdmaestas deleted the filesets-pools branch October 1, 2026 00:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Store fileset and storage pool; use them in find and MCP

1 participant